﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Collections;
using System.Windows.Forms;

namespace Utils
{
    public class ReadFile
    {
        private static string strFileNameInfo = Application.StartupPath + "\\Config.ini";
        //Đọc cấu hình
        public static string GetSetting(string strField)
        {
            if (!File.Exists(ReadFile.strFileNameInfo))
            {
                return "";
            }
            StreamReader fr = new StreamReader(strFileNameInfo);
            string strValue;
            int k;
            do
            {
                if (fr.EndOfStream) break;
                strValue = fr.ReadLine();
                if (strValue == null) continue;
                strValue = Encryption.DeCode(strValue);
                k = strValue.IndexOf('=');
                if (k == -1)
                {
                    fr.Close();
                    return "";
                }

                if (strValue.Substring(0, k) == strField)
                {
                    fr.Close();
                    return strValue.Substring(k + 1);
                }
            }
            while (strValue != "");
            fr.Close();
            return "";
        }

        //Lưu cấu hình
        public static void SaveSetting(string strField, string strValue)
        {
            ArrayList arr = new ArrayList();
            strField = strField.Trim();
            strValue = strValue.Trim();
            if (File.Exists(ReadFile.strFileNameInfo))
            {
                //Đọc dữ liệu ra
                StreamReader fr = new StreamReader(strFileNameInfo);
                string strTemp;
                int k;
                while (!fr.EndOfStream)
                {
                    strTemp = fr.ReadLine();
                    if (strTemp == null) continue;
                    strTemp = Encryption.DeCode(strTemp);
                    if (strTemp != "") arr.Add(strTemp);
                }
                fr.Close();
                //Tìm kiếm dữ liệu
                for (int i = 0; i < arr.Count; i++)
                {
                    k = arr[i].ToString().IndexOf('=');
                    if (k != -1)
                    {
                        if (arr[i].ToString().Substring(0, k) == strField)
                        {
                            arr.RemoveAt(i);
                            break;
                        }
                    }
                }
            }

            //Ghi dữ liệu vào CSDL

            arr.Add(strField + "=" + strValue);
            try
            {
                StreamWriter fw = new StreamWriter(strFileNameInfo);
                for (int i = 0; i < arr.Count; i++)
                {
                    fw.WriteLine(Encryption.EnCode(arr[i].ToString()));
                }
                fw.Close();
            }
            catch { };
        }
    }
}
